package com.four.shop.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.four.shop.entity.Manage;
import com.four.shop.vo.ManageVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * @Author:wsy
 * @Date: 2021/12/9/15:35
 */
public interface ManageDao {

    /**
     * 根据id查询
     * @param id 编号
     * @return 返回
     */
    Manage showManage(Integer id);

    /**
     * 查询
     * @return ：返回集合获取数据数量
     */
    List<Manage> getList();

    /**
     * 条件查，分页
     * @param size ：第几条开始查
     * @param limit ：每页条数
     * @param name ：商品名称
     * @param cateId ：商品类型编号
     * @param state ：状态分类
     * @return ：返回分页集合
     */
    List<Manage> managePageList(
            @Param("size") int size,
            @Param("limit") Integer limit,
            @Param("name") String name,
            @Param("cateId") Integer cateId,
            @Param("state") Integer state
    );

    /**
     * 删除商品数据
     * @param manId :编号
     * @return :是否删除成功
     */
    Integer manageDeleteById(@Param("manId") Integer manId);

    /**
     * 添加
     * @param manage
     */
    void addShop(Manage manage);

    /**
     * 均根据id修改商品状态
     * @param s
     * @param id
     */
    void updateManageStatus(@Param("s") int s,@Param("id") Integer id);

    /**
     *根据id查询商品信息
     * @param id
     * @return
     */
    Manage selectMage(Integer id);

    /**
     * 修改商品信息
     * @param manage
     */
    void updateState(Manage manage);

    /**
     * 求出最大id
     * @return
     */
    Integer maxid();

    /**
     * 查询所有商品信息
     * @return
     */
    List<Manage> findAllManage();

    /**
     *列表+分页+模糊
     * @param managePage
     * @param vo
     * @return
     */
    IPage<Manage> getfindAll(@Param("managePage") Page<Manage> managePage, @Param("vo") ManageVo vo);
}
